VimUnDoKI}S맀ȖƌMAN*R Ah_ h  5_ h ^5_ h  {% endfor %}5_ h]{{f}}5_IKJWhVW 5_TVUWhVW 5_UWVWhVW5_VXWWhVW5_WYXWhVWV{# ------- helpers (can live in a base template or a Jinja2 globals module) ------- #}5_XZYWhVW{% endblock %}5_Y[ZWhVW5_Z\[WhVW{% macro file_icon(fname) -%}5_[]\WhVWK {%- set ext = fname.rsplit('.',1)[-1].lower() if '.' in fname else '' -%}5_\^]WhVW2 {%- if ext in ['md','txt','rst'] %}fa-file-lines5_]_^WhVWR {%- elif ext in ['c','h','cpp','py','sh','js','css','html','yml'] %}fa-file-code5_^`_WhVWI {%- elif ext in ['jpg','jpeg','png','gif','svg','webp'] %}fa-file-image5__a`WhVW@ {%- elif ext in ['zip','tar','gz','bz2','7z'] %}fa-file-zipper5_`baWhVW5 {%- elif ext in ['db','sqlite','db3'] %}fa-database5_acbWhVW' {%- elif ext in ['pdf'] %}fa-file-pdf5_bdcWhVW# {%- else %}fa-file {# default #}5_cedWhVW {%- endif %}5_dfeWhVW{%- endmacro %}5_egfWhVW5_fhgWhVW{% macro humanize(bytes) -%}5_gihWhVW/ {%- set units = ['B','KB','MB','GB','TB'] -%}5_hjiWhVW {%- set size = bytes|float -%}5_ikjWhVW {%- for u in units -%}5_jlkWhVW) {%- if size < 1024 or loop.last -%}5_kmlW hVW% {{ '%.0f' % size }} {{ u }}5_lnmWhVW {%- else -%}5_monW hVW( {%- set size = size / 1024 -%}5_npoWhVW {%- endif -%}5_oqpWhVW {%- endfor -%}5_prqWhVW{%- endmacro %}5_qsrXhWYYXYY5_rtsDhCD5_svtDh CD5_twuvC hBEW 5_vxwUh"TVX5_wyxU h% TVX 5_xzyDh6CEX DEX5_y{zDh9CEX DEX5_z|{DhuCD 5_{}|ThyST 5_|~}Dh{CFV
5_}~Dh{CEWDEW5_~ShRUW {% endfor %}5_hY ov YX gap: 0.5rem;5_h body {5_h background: #111;5_h color: #eee;5_h font-family: sans-serif;5_h margin: 0;5_h padding: 1rem;5_h }5_h!R1{% block block_title %}{{rel_path}}{% endblock %}5_h%R2{% block block_header %}{{rel_path}}{% endblock %}5_h'R2{% block block header %}{{rel_path}}{% endblock %}5_h5R7{% block block header_text %}{{rel_path}}{% endblock %}5_A h@BR
5_L hKMR
5_L hKMR ABR5_A h@BR0 ABR5_Ah@BRD 5_Ah@BR@ 5_A h@BRD 5_Ah@BRJ 5_A%h(@BRI ABR5_A%h.@BRU 5_A2h^@BRV 5_A$h@BRJ 5_A%h@BRI 5_tvuh 5